/*
 * Copyright (c) 2019 Linaro Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/* SoC level DTS fixup file */

#define DT_NUM_IRQ_PRIO_BITS			DT_ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS

#define DT_GPIO_STM32_GPIOA_BASE_ADDRESS	DT_ST_STM32_GPIO_48000000_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOA_CLOCK_BITS_0	DT_ST_STM32_GPIO_48000000_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOA_CLOCK_BUS_0		DT_ST_STM32_GPIO_48000000_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOA_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_48000000_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOA_LABEL		DT_ST_STM32_GPIO_48000000_LABEL
#define DT_GPIO_STM32_GPIOA_SIZE		DT_ST_STM32_GPIO_48000000_SIZE
#define DT_GPIO_STM32_GPIOA_CLOCK_BITS		DT_ST_STM32_GPIO_48000000_CLOCK_BITS
#define DT_GPIO_STM32_GPIOA_CLOCK_BUS		DT_ST_STM32_GPIO_48000000_CLOCK_BUS

#define DT_GPIO_STM32_GPIOB_BASE_ADDRESS	DT_ST_STM32_GPIO_48000400_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOB_CLOCK_BITS_0	DT_ST_STM32_GPIO_48000400_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOB_CLOCK_BUS_0		DT_ST_STM32_GPIO_48000400_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOB_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_48000400_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOB_LABEL		DT_ST_STM32_GPIO_48000400_LABEL
#define DT_GPIO_STM32_GPIOB_SIZE		DT_ST_STM32_GPIO_48000400_SIZE
#define DT_GPIO_STM32_GPIOB_CLOCK_BITS		DT_ST_STM32_GPIO_48000400_CLOCK_BITS
#define DT_GPIO_STM32_GPIOB_CLOCK_BUS		DT_ST_STM32_GPIO_48000400_CLOCK_BUS

#define DT_GPIO_STM32_GPIOC_BASE_ADDRESS	DT_ST_STM32_GPIO_48000800_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOC_CLOCK_BITS_0	DT_ST_STM32_GPIO_48000800_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOC_CLOCK_BUS_0		DT_ST_STM32_GPIO_48000800_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOC_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_48000800_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOC_LABEL		DT_ST_STM32_GPIO_48000800_LABEL
#define DT_GPIO_STM32_GPIOC_SIZE		DT_ST_STM32_GPIO_48000800_SIZE
#define DT_GPIO_STM32_GPIOC_CLOCK_BITS		DT_ST_STM32_GPIO_48000800_CLOCK_BITS
#define DT_GPIO_STM32_GPIOC_CLOCK_BUS		DT_ST_STM32_GPIO_48000800_CLOCK_BUS

#define DT_GPIO_STM32_GPIOD_BASE_ADDRESS	DT_ST_STM32_GPIO_48000C00_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOD_CLOCK_BITS_0	DT_ST_STM32_GPIO_48000C00_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOD_CLOCK_BUS_0		DT_ST_STM32_GPIO_48000C00_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOD_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_48000C00_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOD_LABEL		DT_ST_STM32_GPIO_48000C00_LABEL
#define DT_GPIO_STM32_GPIOD_SIZE		DT_ST_STM32_GPIO_48000C00_SIZE
#define DT_GPIO_STM32_GPIOD_CLOCK_BITS		DT_ST_STM32_GPIO_48000C00_CLOCK_BITS
#define DT_GPIO_STM32_GPIOD_CLOCK_BUS		DT_ST_STM32_GPIO_48000C00_CLOCK_BUS

#define DT_GPIO_STM32_GPIOE_BASE_ADDRESS	DT_ST_STM32_GPIO_48001000_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOE_CLOCK_BITS_0	DT_ST_STM32_GPIO_48001000_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOE_CLOCK_BUS_0		DT_ST_STM32_GPIO_48001000_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOE_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_48001000_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOE_LABEL		DT_ST_STM32_GPIO_48001000_LABEL
#define DT_GPIO_STM32_GPIOE_SIZE		DT_ST_STM32_GPIO_48001000_SIZE
#define DT_GPIO_STM32_GPIOE_CLOCK_BITS		DT_ST_STM32_GPIO_48001000_CLOCK_BITS
#define DT_GPIO_STM32_GPIOE_CLOCK_BUS		DT_ST_STM32_GPIO_48001000_CLOCK_BUS

#define DT_GPIO_STM32_GPIOH_BASE_ADDRESS	DT_ST_STM32_GPIO_48001C00_BASE_ADDRESS
#define DT_GPIO_STM32_GPIOH_CLOCK_BITS_0	DT_ST_STM32_GPIO_48001C00_CLOCK_BITS_0
#define DT_GPIO_STM32_GPIOH_CLOCK_BUS_0		DT_ST_STM32_GPIO_48001C00_CLOCK_BUS_0
#define DT_GPIO_STM32_GPIOH_CLOCK_CONTROLLER	DT_ST_STM32_GPIO_48001C00_CLOCK_CONTROLLER
#define DT_GPIO_STM32_GPIOH_LABEL		DT_ST_STM32_GPIO_48001C00_LABEL
#define DT_GPIO_STM32_GPIOH_SIZE		DT_ST_STM32_GPIO_48001C00_SIZE
#define DT_GPIO_STM32_GPIOH_CLOCK_BITS		DT_ST_STM32_GPIO_48001C00_CLOCK_BITS
#define DT_GPIO_STM32_GPIOH_CLOCK_BUS		DT_ST_STM32_GPIO_48001C00_CLOCK_BUS

#define DT_UART_STM32_USART_1_BASE_ADDRESS	DT_ST_STM32_USART_40013800_BASE_ADDRESS
#define DT_UART_STM32_USART_1_BAUD_RATE		DT_ST_STM32_USART_40013800_CURRENT_SPEED
#define DT_UART_STM32_USART_1_IRQ_PRI		DT_ST_STM32_USART_40013800_IRQ_0_PRIORITY
#define DT_UART_STM32_USART_1_NAME		DT_ST_STM32_USART_40013800_LABEL
#define DT_USART_1_IRQ				DT_ST_STM32_USART_40013800_IRQ_0
#define DT_UART_STM32_USART_1_CLOCK_BITS	DT_ST_STM32_USART_40013800_CLOCK_BITS
#define DT_UART_STM32_USART_1_CLOCK_BUS		DT_ST_STM32_USART_40013800_CLOCK_BUS
#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL	DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL

#define DT_UART_STM32_LPUART_1_BASE_ADDRESS	DT_ST_STM32_LPUART_40008000_BASE_ADDRESS
#define DT_UART_STM32_LPUART_1_BAUD_RATE	DT_ST_STM32_LPUART_40008000_CURRENT_SPEED
#define DT_UART_STM32_LPUART_1_IRQ_PRI		DT_ST_STM32_LPUART_40008000_IRQ_0_PRIORITY
#define DT_UART_STM32_LPUART_1_NAME		DT_ST_STM32_LPUART_40008000_LABEL
#define DT_LPUART_1_IRQ				DT_ST_STM32_LPUART_40008000_IRQ_0
#define DT_UART_STM32_LPUART_1_CLOCK_BITS	DT_ST_STM32_LPUART_40008000_CLOCK_BITS
#define DT_UART_STM32_LPUART_1_CLOCK_BUS	DT_ST_STM32_LPUART_40008000_CLOCK_BUS
#define DT_UART_STM32_LPUART_1_HW_FLOW_CONTROL	DT_ST_STM32_LPUART_40008000_HW_FLOW_CONTROL

#define DT_RTC_0_BASE_ADDRESS			DT_ST_STM32_RTC_40002800_BASE_ADDRESS
#define DT_RTC_0_IRQ_PRI			DT_ST_STM32_RTC_40002800_IRQ_0_PRIORITY
#define DT_RTC_0_IRQ				DT_ST_STM32_RTC_40002800_IRQ_0
#define DT_RTC_0_NAME				DT_ST_STM32_RTC_40002800_LABEL
#define DT_RTC_0_CLOCK_BITS			DT_ST_STM32_RTC_40002800_CLOCK_BITS
#define DT_RTC_0_CLOCK_BUS			DT_ST_STM32_RTC_40002800_CLOCK_BUS

#define DT_FLASH_DEV_BASE_ADDRESS		DT_ST_STM32WB_FLASH_CONTROLLER_58004000_BASE_ADDRESS
#define DT_FLASH_DEV_NAME			DT_ST_STM32WB_FLASH_CONTROLLER_58004000_LABEL

#define DT_I2C_1_BASE_ADDRESS                   DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS
#define DT_I2C_1_EVENT_IRQ_PRI                  DT_ST_STM32_I2C_V2_40005400_IRQ_EVENT_PRIORITY
#define DT_I2C_1_ERROR_IRQ_PRI                  DT_ST_STM32_I2C_V2_40005400_IRQ_ERROR_PRIORITY
#define DT_I2C_1_NAME                       DT_ST_STM32_I2C_V2_40005400_LABEL
#define DT_I2C_1_EVENT_IRQ                      DT_ST_STM32_I2C_V2_40005400_IRQ_EVENT
#define DT_I2C_1_ERROR_IRQ                      DT_ST_STM32_I2C_V2_40005400_IRQ_ERROR
#define DT_I2C_1_BITRATE                        DT_ST_STM32_I2C_V2_40005400_CLOCK_FREQUENCY
#define DT_I2C_1_CLOCK_BITS		        DT_ST_STM32_I2C_V2_40005400_CLOCK_BITS
#define DT_I2C_1_CLOCK_BUS	                DT_ST_STM32_I2C_V2_40005400_CLOCK_BUS

#define DT_I2C_3_BASE_ADDRESS                   DT_ST_STM32_I2C_V2_40005C00_BASE_ADDRESS
#define DT_I2C_3_EVENT_IRQ_PRI                  DT_ST_STM32_I2C_V2_40005C00_IRQ_EVENT_PRIORITY
#define DT_I2C_3_ERROR_IRQ_PRI                  DT_ST_STM32_I2C_V2_40005C00_IRQ_ERROR_PRIORITY
#define DT_I2C_3_NAME                       DT_ST_STM32_I2C_V2_40005C00_LABEL
#define DT_I2C_3_EVENT_IRQ                      DT_ST_STM32_I2C_V2_40005C00_IRQ_EVENT
#define DT_I2C_3_ERROR_IRQ                      DT_ST_STM32_I2C_V2_40005C00_IRQ_ERROR
#define DT_I2C_3_BITRATE                        DT_ST_STM32_I2C_V2_40005C00_CLOCK_FREQUENCY
#define DT_I2C_3_CLOCK_BITS			DT_ST_STM32_I2C_V2_40005C00_CLOCK_BITS
#define DT_I2C_3_CLOCK_BUS			DT_ST_STM32_I2C_V2_40005C00_CLOCK_BUS

#define DT_SPI_1_BASE_ADDRESS			DT_ST_STM32_SPI_FIFO_40013000_BASE_ADDRESS
#define DT_SPI_1_IRQ_PRI			DT_ST_STM32_SPI_FIFO_40013000_IRQ_0_PRIORITY
#define DT_SPI_1_NAME				DT_ST_STM32_SPI_FIFO_40013000_LABEL
#define DT_SPI_1_IRQ				DT_ST_STM32_SPI_FIFO_40013000_IRQ_0
#define DT_SPI_1_CLOCK_BITS			DT_ST_STM32_SPI_FIFO_40013000_CLOCK_BITS
#define DT_SPI_1_CLOCK_BUS			DT_ST_STM32_SPI_FIFO_40013000_CLOCK_BUS

#define DT_SPI_2_BASE_ADDRESS			DT_ST_STM32_SPI_FIFO_40003800_BASE_ADDRESS
#define DT_SPI_2_IRQ_PRI			DT_ST_STM32_SPI_FIFO_40003800_IRQ_0_PRIORITY
#define DT_SPI_2_NAME				DT_ST_STM32_SPI_FIFO_40003800_LABEL
#define DT_SPI_2_IRQ				DT_ST_STM32_SPI_FIFO_40003800_IRQ_0
#define DT_SPI_2_CLOCK_BITS			DT_ST_STM32_SPI_FIFO_40003800_CLOCK_BITS
#define DT_SPI_2_CLOCK_BUS			DT_ST_STM32_SPI_FIFO_40003800_CLOCK_BUS

#define DT_PWM_STM32_1_DEV_NAME			DT_ST_STM32_PWM_40012C00_PWM_LABEL
#define DT_PWM_STM32_1_PRESCALER		DT_ST_STM32_PWM_40012C00_PWM_ST_PRESCALER
#define DT_TIM_STM32_1_BASE_ADDRESS		DT_ST_STM32_TIMERS_40012C00_BASE_ADDRESS
#define DT_TIM_STM32_1_CLOCK_BITS		DT_ST_STM32_TIMERS_40012C00_CLOCK_BITS
#define DT_TIM_STM32_1_CLOCK_BUS		DT_ST_STM32_TIMERS_40012C00_CLOCK_BUS

#define DT_PWM_STM32_2_DEV_NAME			DT_ST_STM32_PWM_40000000_PWM_LABEL
#define DT_PWM_STM32_2_PRESCALER		DT_ST_STM32_PWM_40000000_PWM_ST_PRESCALER
#define DT_TIM_STM32_2_BASE_ADDRESS		DT_ST_STM32_TIMERS_40000000_BASE_ADDRESS
#define DT_TIM_STM32_2_CLOCK_BITS		DT_ST_STM32_TIMERS_40000000_CLOCK_BITS
#define DT_TIM_STM32_2_CLOCK_BUS		DT_ST_STM32_TIMERS_40000000_CLOCK_BUS

#define DT_PWM_STM32_16_DEV_NAME		DT_ST_STM32_PWM_40014400_PWM_LABEL
#define DT_PWM_STM32_16_PRESCALER		DT_ST_STM32_PWM_40014400_PWM_ST_PRESCALER
#define DT_TIM_STM32_16_BASE_ADDRESS		DT_ST_STM32_TIMERS_40014400_BASE_ADDRESS
#define DT_TIM_STM32_16_CLOCK_BITS		DT_ST_STM32_TIMERS_40014400_CLOCK_BITS
#define DT_TIM_STM32_16_CLOCK_BUS		DT_ST_STM32_TIMERS_40014400_CLOCK_BUS

#define DT_PWM_STM32_17_DEV_NAME		DT_ST_STM32_PWM_40014800_PWM_LABEL
#define DT_PWM_STM32_17_PRESCALER		DT_ST_STM32_PWM_40014800_PWM_ST_PRESCALER
#define DT_TIM_STM32_17_BASE_ADDRESS		DT_ST_STM32_TIMERS_40014800_BASE_ADDRESS
#define DT_TIM_STM32_17_CLOCK_BITS		DT_ST_STM32_TIMERS_40014800_CLOCK_BITS
#define DT_TIM_STM32_17_CLOCK_BUS		DT_ST_STM32_TIMERS_40014800_CLOCK_BUS

#define DT_ADC_1_BASE_ADDRESS		DT_ST_STM32_ADC_50040000_BASE_ADDRESS
#define DT_ADC_1_IRQ			DT_ST_STM32_ADC_50040000_IRQ_0
#define DT_ADC_1_IRQ_PRI		DT_ST_STM32_ADC_50040000_IRQ_0_PRIORITY
#define DT_ADC_1_NAME			DT_ST_STM32_ADC_50040000_LABEL
#define DT_ADC_1_CLOCK_BITS		DT_ST_STM32_ADC_50040000_CLOCK_BITS_0
#define DT_ADC_1_CLOCK_BUS		DT_ST_STM32_ADC_50040000_CLOCK_BUS_0

#define DT_WDT_0_NAME			DT_INST_0_ST_STM32_WATCHDOG_LABEL

#define DT_WWDT_0_BASE_ADDRESS		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_BASE_ADDRESS
#define DT_WWDT_0_NAME			DT_INST_0_ST_STM32_WINDOW_WATCHDOG_LABEL
#define DT_WWDT_0_IRQ			DT_INST_0_ST_STM32_WINDOW_WATCHDOG_IRQ_0
#define DT_WWDT_0_IRQ_PRI		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_IRQ_0_PRIORITY
#define DT_WWDT_0_CLOCK_BITS		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_CLOCK_BITS
#define DT_WWDT_0_CLOCK_BUS		DT_INST_0_ST_STM32_WINDOW_WATCHDOG_CLOCK_BUS

#define DT_LPTIM_1_BASE_ADDRESS	DT_ST_STM32_TIMERS_40007C00_BASE_ADDRESS
#define DT_LPTIM_1_IRQ		DT_ST_STM32_TIMERS_40007C00_IRQ_0
#define DT_LPTIM_1_IRQ_PRI	DT_ST_STM32_TIMERS_40007C00_IRQ_0_PRIORITY
#define DT_LPTIM_1_NAME		DT_ST_STM32_TIMERS_40007C00_LABEL
#define DT_LPTIM_1_CLOCK_BITS	DT_ST_STM32_TIMERS_40007C00_CLOCK_BITS_0
#define DT_LPTIM_1_CLOCK_BUS	DT_ST_STM32_TIMERS_40007C00_CLOCK_BUS_0

/* End of SoC Level DTS fixup file */
